cmake_minimum_required(VERSION 3.29)
project(learn)

set(CMAKE_CXX_STANDARD 20)

add_executable(learn

        algo/utils/base/base.h

        algo/utils/list_node/ListNode.h
        algo/utils/list_node/ListNode.cpp

        algo/utils/printer/Printer.h
        algo/utils/printer/Printer.cpp

        algo/utils/tree_node/TreeNode.h
        algo/utils/tree_node/TreeNode.cpp

        algo/utils/random_util/Random.cpp
        algo/utils/random_util/Random.h

        algo/utils/json/json.hpp

        algo/utils/common/common.h


        algo/algo_q2019/Solution.cpp
        ## algo/algo_q2023/Solution.cpp


        #        algo/algo_sort/Solution.cpp
        #        algo/algo_sort/BubbleSort.cpp
        #        algo/algo_sort/Sort.h
        #        algo/algo_sort/SelectionSort.cpp
        #        algo/algo_sort/QuickSort.cpp
        #        algo/algo_sort/MergeSort.cpp
        #        algo/algo_sort/ShellSort.cpp
        #        algo/algo_sort/HeapSort.cpp
        #        algo/algo_sort/CountingSort.cpp

)

include_directories(
        algo/utils/list_node
        algo/utils/base
        algo/utils/printer
        algo/utils/common
        algo/utils/tree_node
        algo/utils/random_util
        algo/utils/json
        algo/algo_sort
)